Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2004
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour French Open - Paris France F19 Romania F17 France F12 Armenia F1 Georgia F2 Germany F13 France F12 USA F22 France F2 France F3 USA F6 Romania F1 Romania F5 Romania F6 Romania F7 Romania F11 Romania F12 Romania F13 Romania F14 Romania F15 Germany F15 Germany F17 France F13 Germany F18 Germany F19 France F15 France F17 France F20 Dominican Republic F4 Dominican Republic F5 France F1 France F2 France F4 Egypt F4 Egypt F6 Romania F1 Romania F2 Romania F3 Romania F5 France F8 Germany F6 France F9 Germany F7 France F10 Germany F8 France F12 Romania F11 Germany F13 Belgium F2 Belgium F3 Germany F17 France F13 Turkey F9 France F18 France F19 France F20 Senegal F1 Senegal F2 Dominican Republic F1 Dominican Republic F2 Dominican Republic F3 France F1 France F2 France F4 France F5 Spain F11 Spain F12 France F7 Bulgaria F3 Romania F2 Romania F3 Romania F4 France F8 France F10 France F11 France F12 Germany F9 Spain F27 Romania F9 Romania F10 Spain F29 Belarus F1 Belgium F2 Belarus F2 Germany F13 France F13 Turkey F9 France F17 Turkey F10 France F18 Turkey F11 Belarus F4 Great Britain F1 Great Britain F2 France F2 Turkey F6 Turkey F7 France F4 Turkey F8 France F5 Turkey F10 Turkey F11 Turkey F12 France F6 Turkey F13 Italy F8 Italy F10 Italy F11 Romania F2 Germany F5 France F10 Germany F7 Romania F9 Turkey F6 Turkey F7 Turkey F8 France F4 France F5 Turkey F12 Turkey F15 Turkey F16 Romania F1 Romania F3 Turkey F7 Turkey F8 France F4 Turkey F9 Turkey F15 Romania F3 Spain F14 France F1 China F1 China F2 Romania F3 Romania F16 M15 Manacor M15+H Bagnoles-de-l'Orne M15+H Bressuire M15 Vale Do Lobo M15 Faro M15 Toulouse M15 Sintra M25+H Rodez M15 Benicarlo M15 Madrid M15 Manacor M15 Manacor M15+H Bressuire M25 Vale do Lobo M25 Faro M25 Vale do Lobo M15 Poitiers M25 Reus M25 Angers M15 Las Palmas de Gran Canaria M25 Montauban M25+H Ajaccio M15 Xativa M25 Santander M25 Bagneres-De-Bigorre M25 Toulouse M25 Vale do Lobo M25 Toulouse-Balma M25 Vic M25 Montauban Ukraine F3 Germany F16 France F15 France F20 Rodez USA F25 Romania F10 Germany F8 Germany F14 France F14 France F15 France F19 Open D'Orleans - Orleans M25 Roehampton M25 Porto M15 Poitiers Cherbourg Challenger M15 Madrid M25 Reus Bordeaux Challenger M15 Monastir M25 Monastir M15 Monastir M15 Poitiers M15 Valencia M15 Gijon Quimper Challenger M25 Monastir Cherbourg Challenger M15 Monastir Monza Challenger Marburg Challenger Pozoblanco Challenger Recanati Challenger Trani Challenger Samarkand Challenger Mamaia Challenger - Constanta Astana Challenger St. Remy Challenger Szczecin Challenger Istanbul Challenger M25 Angers M25+H Rodez Mons Challenger Rennes Challenger Orleans Challenger Helsinki Challenger Heilbronn Challenger Cherbourg Challenger Sarajevo Challenger Bath Challenger M15 Manacor Tunis Challenger Scheveningen Challenger Cordenons Challenger Segovia Challenger St. Remy Challenger Lermontov Challenger Rennes Challenger Tunis Challenger Karshi Challenger Bordeaux Challenger Samarkand Challenger Nottingham Challenger Arad Challenger Kosice Challenger Timisoara Challenger Scheveningen Challenger Poznan Challenger Oberstaufen Challenger St. Remy Challenger Petange Challenger M15 Creteil Orleans Challenger Fergana Challenger Rennes Challenger Helsinki Challenger Chennai Challenger New Delhi Challenger Cherbourg Challenger Le Gosier Challenger Mersin Challenger Bordeaux Challenger Challenger DCNS de Cherbourg - Cherbourg Orleans Challenger Sibiu Challenger Mons Challenger Tashkent Challenger Rennes Challenger Geneva Challenger Karshi Challenger New Delhi Challenger Cherbourg Challenger M15 Monastir Quimper Challenger Raanana Challenger Heilbronn Challenger Moscow Challenger Braunschweig Challenger Poznan Challenger Liberec Challenger Prague Challenger Manerbio Challenger Como Challenger Orleans Challenger Salzburg Challenger Mons Challenger Petange Challenger Dallas Challenger Cherbourg Challenger Kazan Challenger Rome Challenger Timisoara Challenger - Timisoara Fergana Challenger Manerbio Challenger Como Challenger Mersin Challenger Noumea Challenger Seoul Challenger Surbiton Challenger Caltanissetta Challenger Nottingham Challenger Recanati Challenger M15 Bressuire M25 Esch/Alzette Wroclaw Challenger Orleans Challenger Genova Challenger Szczecin Challenger Shenzhen Challenger Eckental Challenger Meerbusch Challenger Alicante Challenger Mouilleron-Le-Captif Challenger Aix En Provence Challenger Poznan Challenger Heilbronn Challenger Irving Challenger Kolkata Challenger Guangzhou Challenger Bordeaux Challenger Orleans Challenger M25 Monastir Heilbronn Challenger Vicenza Challenger Rome Challenger Aix En Provence Challenger Braunschweig Challenger Recanati Challenger St. Remy Challenger Bordeaux Challenger Istanbul 2 Challenger Trnava Challenger Ningboo Challenger Ortisei Challenger M25 Villeneuve-Loubet Rome 1 Challenger Vicenza Challenger Mouilleron-Le-Captif Challenger Chicago Challenger Prague Challenger Lyon Challenger M15 Poitiers Helsinki Challenger Roanne Challenger Burnie Challenger Launceston Challenger Oeiras 1 Challenger Le Gosier Challenger Seville Challenger Lugano Challenger Hamburg Challenger Rennes Challenger Bordeaux Challenger Guangzhou Challenger M25 Toulouse-Balma Fergana Challenger Cleveland Challenger Chisinau Challenger Canberra Challenger Cordenons Challenger M15 Azay-le-Rideau Valencia Challenger Istanbul Challenger Tashkent Challenger Braunschweig Challenger M25 Vic M25 Mataro Como Challenger Karshi Challenger Samarkand Challenger Furth Challenger Braunschweig Challenger San Benedetto Challenger Segovia Challenger M25+H Ajaccio Genova Challenger Segovia Challenger Szczecin Challenger M25 Porto Punta Del Este Challenger Porto Challenger Eckental Challenger Mauthausen Challenger Brasov Challenger Forli 6 Challenger Rennes Challenger Cherbourg Challenger Cary Challenger M25+H Bagneres-de-Bigorre Trnava Challenger St. Brieuc Challenger Prostejov Challenger Busan Challenger Perugia Challenger Oeiras 4 Challenger Blois Challenger Karlsruhe Challenger Ortisei Challenger Suzhou Challenger Pozoblanco Challenger Noumea Challenger Koblenz Challenger Rennes Challenger M15 Monastir Cherbourg Challenger Mouilleron-Le-Captif Challenger Mersin Challenger Lille Challenger St. Brieuc Challenger Porto Challenger Tunis Challenger Pozoblanco Challenger Cassis Challenger Prostejov Challenger Seoul Challenger Lyon Challenger Ostrava Challenger Perugia Challenger Bordeaux Challenger Ningboo Challenger Liuzhou Challenger Bangalore Challenger Nottingham Challenger Noumea Challenger Marburg Challenger Braunschweig Challenger St. Brieuc Challenger M15 Lons-le-Saunier Rennes Challenger Bercuit Challenger Lisbon Challenger Recanati Challenger Prostejov Challenger Prostejov Challenger Prague Challenger Portoroz Challenger Pozoblanco Challenger Sibiu Challenger St. Brieuc Challenger Bucharest Challenger Mouilleron-Le-Captif Challenger Brest Challenger Bergamo Challenger Roanne Challenger Pau Challenger Bari Challenger Cherbourg Challenger Pau Challenger Phoenix Challenger Lugano Challenger Sanremo Challenger Heilbronn Challenger Surbiton Challenger Prague 3 Challenger Istanbul Challenger Orleans Challenger Hamburg Challenger Brest Challenger Bergamo Challenger Maia Challenger Oeiras 1 Challenger Oeiras 2 Challenger M15 Monastir Pau Challenger Phoenix Challenger Szekesfehervar Challenger Madrid Challenger Rome Challenger Split Challenger Aix En Provence Challenger Canberra Challenger Oeiras 3 Challenger Porto Challenger St. Tropez Challenger Mouilleron-Le-Captif Challenger Brest Challenger Bergamo Challenger Helsinki Challenger Danderyd Challenger Cherbourg Challenger Pau Challenger Mouilleron-Le-Captif Challenger Murcia Challenger Girona Challenger Barcelona Challenger Cherbourg Challenger Girona Challenger Oeiras 5 Challenger Segovia Challenger Poznan Challenger Royan Challenger Francavilla Challenger Iasi Challenger Tashkent Challenger Cassis Challenger Koblenz Challenger Orleans Challenger Grodzisk Mazowiecki Challenger Rennes Challenger Mouilleron-Le-Captif Challenger Monastir Challenger Porto 2 Challenger Hersonissos 6 Challenger Cherbourg Challenger Rennes Challenger Sibiu Challenger Bordeaux Challenger Irving Challenger Loughborough Challenger Barcelona Challenger Bratislava Challenger Pune Challenger Sophia Antipolis Challenger Noumea Challenger Kazan Challenger Quimper Challenger St. Brieuc Challenger Todi Challenger Mouilleron-Le-Captif Challenger Istanbul Challenger Mallorca Challenger Moscow Challenger Noumea Challenger Cherbourg Challenger Izmir Challenger Poznan Challenger Mons Challenger Happy Valley Challenger Hong Kong Challenger Nottingham Challenger Kolkata Challenger Geneva Challenger Kosice Challenger Eckental Challenger Bratislava Challenger Ortisei Challenger Cherbourg Challeger St. Petersburg Open - St. Petersburg Orleans Challenger Troyes Challenger Tyumen Challenger Heilbronn Challenger AEGON Championships - London Batman Challenger Open de Moselle - Metz St. Petersburg Open - St. Petersburg Porto Challenger Bergamo Challenger Quimper Challenger Open Sud de France - Montpellier Moselle Open - Metz St. Brieuc Challenger Qatar ExxonMobil Open - Doha Aircel Chennai Open - Chennai Apia International - Sydney Open Sud de France - Montpellier Barcelona Open BancSabadell - Barcelona AEGON Championships - London AEGON International - Eastbourne Mersin Challenger Credit Agricole Suisse Open - Gstaad Winston-Salem Open - Winston-Salem If Stockholm Open - Stockholm Kremlin Cup - Moscow Swiss Indoors Basel - Basel Aircel Chennai Open - Chennai Portugal Open - Oeiras Credit Agricole Suisse Open - Gstaad Liberec Challenger Heineken Open - Auckland Open Sud de France - Montpellier Kazan Challenger Open 13 - Marseille Bratislava Challenger Barcelona Open BancSabadell - Barcelona Topshelf Open - 's-Hertogenbosch Austrian Open - Kitzbuhel Moselle Open - Metz Credit Agricole Suisse Open - Gstaad Kremlin Cup - Moscow Erste Bank Open - Vienna St. Petersburg Open - St. Petersburg AEGON Championships - London Millennium Estoril Open - Estoril Qatar ExxonMobil Open - Doha Memphis Open - Memphis Delray Beach Open - Delray Beach Grand Prix Hassan II - Marrakech BRD Nastase Tiriac Trophy - Bucharest SkiStar Swedish Open - Bastad Millennium Estoril Open - Estoril Winston-Salem Open - Winston-Salem Moselle Open - Metz St. Petersburg Open - St. Petersburg If Stockholm Open - Stockholm Erste Bank Open - Vienna Open Sud de France - Montpellier Garanti Koza Sofia Open - Sofia Bet-at-home Open - Hamburg Suisse Open - Gstaad Moselle Open - Metz European Open - Antwerp ASB Classic - Auckland Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril Open Parc - Lyon Plava Laguna Croatia Open - Umag Swiss Open - Gstaad Winston-Salem Open - Winston-Salem Moselle Open - Metz European Open - Antwerp Delray Beach Open - Delray Beach Gazprom Hungarian Open - Budapest Open Parc - Lyon Noventi Open - Halle Abierto Mexicano de Tenis Mifel - Los Cabos Raanana Challenger Arad Challenger Astana Open - Nur-Sultan Antalya Open - Antalya Mercedes Cup - Stuttgart Generali Open - Kitzbuhel St. Petersburg Open - St. Petersburg BCR Open Romania - Bucharest Kremlin Cup - Moscow Brasov Challenger Koblenz Challenger Poznan Challenger Adelaide International 1 - Adelaide Oberstaufen Challenger Tata Open Maharashtra - Pune Open 13 Provence - Marseille Abierto de Tenis Mifel - Los Cabos Barcelona Open BancSabadell - Barcelona Tata Open Maharashtra - Pune Millennium Estoril Open - Estoril BMW Open - Munich Stockholm Open - Stockholm Delray Beach Open - Delray Beach Kremlin Cup - Moscow Citi Open - Washington Kremlin Cup - Moscow Delray Beach Open - Delray Beach Tiriac Open - Bucharest Open 13 - Marseille Nordea Open - Bastad St. Brieuc Challenger Nottingham 3 Challenger Open de Nice Cote d'Azur - Nice Gerry Weber Open - Halle AEGON Championships - London Mouilleron-Le-Captif Challenger Quimper Challenger Grand Prix Hassan II - Casablanca Genova Challenger M25 Carnac Bet-at-home Cup - Kitzbuhel Moselle Open - Metz Malaysian Open - Kuala Lumpur Bordeaux Challenger Open Sud de France - Montpellier Szczecin Challenger ATP Challenger Tour Finals Open 13 - Marseille Mons Challenger Grand Prix Hassan II - Casablanca Budapest Challenger Maui Challenger BRD Nastase Tiriac Trophy - Bucharest Open de Nice Cote d'Azur - Nice Koblenz Challenger Oberstaufen Challenger Topshelf Open - 's-Hertogenbosch Jonkoping Challenger Bet-at-home Cup - Kitzbuhel Moselle Open - Metz Aix En Provence Challenger Orleans Challenger Swiss Indoors Basel - Basel Citi Open - Washington San Diego Challenger BRD Nastase Tiriac Trophy - Bucharest Monza Challenger TEB BNP Paribas Istanbul Open - Istanbul SkiStar Swedish Open - Bastad Antalya Cup - Antalya M25 Benicarlo Ostrava Challenger Winston-Salem Open - Winston-Salem Cherbourg Challenger Mouilleron-Le-Captif Challenger Kobe Challenger M15 Bressuire Valencia Open - Valencia M15+H Bagnoles de l'Orne Open Sud de France - Montpellier Mons Challenger Open 13 - Marseille Abierto Mexicano Telcel - Acapulco Tyumen Challenger Barcelona Open BancSabadell - Barcelona Blois Challenger Guadalajara Challenger TEB BNP Paribas Istanbul Open - Istanbul Tunis Challenger Open Sud de France - Montpellier Hall of Fame Open - Newport Generali Open - Kitzbuhel San Marino Challenger Mallorca Challenger Villena Challenger Forli 2 Challenger Florence Challenger Memphis Open - Memphis Abierto Mexicano Telcel - Acapulco Shenzhen Challenger Eckental Challenger Bet-at-home Open - Hamburg Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril AEGON Championships - London Antalya Cup - Antalya Lille Challenger Konzum Croatia Open - Umag Hamburg European Open - Hamburg St. Petersburg Open - St. Petersburg Perugia Challenger Amersfoort Challenger Open Sud de France - Montpellier Cagliari Challenger Garanti Koza Sofia Open - Sofia New York Open - New York Delray Beach Open - Delray Beach Barcelona Open BancSabadell - Barcelona Dubai Duty Free Tennis Championships - Dubai Gazprom Hungarian Open - Budapest TEB BNP Paribas Istanbul Open - Istanbul Chengdu Open - Chengdu China Open - Beijing Tata Open Maharashtra - Pune Oeiras 3 Challenger New York Open - New York Geneva Open - Geneva Canberra Challenger BB&T Atlanta Open - Atlanta Boss Open - Stuttgart Chengdu Open - Chengdu Rakuten Japan Open - Tokyo Intrum Stockholm Open - Stockholm ABN AMRO World Tennis Tournament - Rotterdam Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco Generali Open - Kitzbuhel bett1HULKS Indoors - Cologne Sofia Open - Sofia Pozoblanco Challenger Segovia Challenger Como Challenger Rennes Challenger Noventi Open - Halle Mallorca Championships - Mallorca Nordea Open - Bastad Plava Laguna Croatia Open - Umag Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Swiss Indoors Basel - Basel Kremlin Cup - Moscow Lugano Challenger Singapore Tennis Open - Singapore Prague 2 Challenger Turin Challenger Troisdorf Challenger Perugia Challenger Blois Challenger Millennium Estoril Open - Estoril Mercedes Cup - Stuttgart bett1HULKS Championships - Cologne Noventi Open - Halle Perugia Challenger Orleans Challenger Prague 2 Challenger Milan Challenger Brasov Challenger Troyes Challenger Dallas Open - Dallas Delray Beach Open - Delray Beach Open 13 Provence - Marseille Gonet Geneva Open - Geneva Banja Luka Open - Banja Luka Terra Wortmann Open - Halle Bordeaux Challenger Korea Open - Seoul Roanne Challenger Hersonissos 5 Challenger Maia Challenger Bucharest Open - Bucharest Brest Challenger Lille Challenger Ilkley Challenger Porto 2 Challenger Roanne Challenger Bet-at-home Open - Hamburg Suisse Open - Gstaad Rakuten Japan Open - Tokyo Maharashtra Open - Pune Open 13 Provence - Marseille Abierto Mexicano Telcel - Acapulco Cordenons Challenger Generali Open - Kitzbuhel Nature Valley International - Eastbourne Murray River Open - Melbourne Belgrade 2 - Belgrade Ottignies-Louvain-la-Neuve Challenger Sophia Antipolis Challenger Quimper Challenger Cherbourg Challenger Lille Challenger Segovia Challenger Prague 1 Challenger Winston-Salem Open - Winston-Salem Indian Wells Challenger Koblenz Challenger Bratislava 1 Challenger Delray Beach Open - Delray Beach Tenerife 1 Challenger Apia International - Sydney Turin Challenger Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Masters - Paris Dallas Open - Dallas BNP Paribas Masters - Paris Internazionali BNL d'Italia - Rome BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Sony Open Tennis - Miami ABN AMRO World Tennis Tournament - Rotterdam Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Miami Open - Miami Open Parc - Lyon Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Coupe Rogers - Montreal Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Western & Southern Open - New York National Bank Open - Toronto Rolex Paris Masters - Paris Truist Atlanta Open - Atlanta Rakuten Japan Open - Tokyo Atlanta Open - Atlanta BNP Paribas Masters - Paris Mutua Madrid Open - Madrid Hangzhou Open - Hangzhou Dallas Open - Dallas Miami Open - Miami Miami Open - Miami Miami Open - Miami Mutua Madrid Open - Madrid Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Mutua Madrid Open - Madrid Mutua Madrid Open - Madrid AEGON Championships - London European Open - Antwerp Aircel Chennai Open - Chennai Shenzhen Open - Shenzhen Swiss Indoors Basel - Basel SkiStar Swedish Open - Bastad Hall of Fame Tennis Championships - Newport French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Wimbledon - London Australian Open - Melbourne Australian Open - Melbourne French Open - Paris Wimbledon - London French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne U.S. Open - New York U.S. Open - New York Wimbledon - London U.S. Open - New York Australian Open - Melbourne U.S. Open - New York Australian Open - Melbourne U.S. Open - New York French Open - Paris French Open - Paris Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris U.S. Open - New York French Open - Paris Internazionali BNL d'Italia - Rome Wimbledon - London Australian Open - Melbourne French Open - Paris U.S. Open - New York Wimbledon - London Australian Open - Melbourne Wimbledon - London Australian Open - Melbourne Wimbledon - London Infosys Hall of Fame Open - Newport Iasi Challenger Davis Cup, Group II, PO, TUR-MDA 2-3 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group II, 2R, MDA-BLR 4-1 Davis Cup, Group II, 3R, DEN-MDA 3-2 ATP Cup - Brisbane, Perth, Sydney M25 Hazebrouck Davis Cup, Group II, 1R, BLR-MDA 4-1 Davis Cup, Group 2, PO, HUN-MDA 3-2 Davis Cup, Group II, 1R, MDA-EGY 4-1 U.S. Open (juniors) French Open (juniors) Davis Cup, Group II, 1R, MDA-HUN 3-2 Davis Cup, Group II, 2R, BIH-MDA 1-3 Davis Cup, Group II, 1R, HUN-MDA 4-1 Wimbledon (juniors) Hopman Cup - Perth St. Brieuc Challenger Olympics - Rio de Janeiro M25 Mataro All Lower level tournaments Oeiras 4 Challenger Hamburg Challenger Davis Cup, Group 2, 1R, LAT-MDA 5-0 M25 Toulouse-Balma M25 Villeneuve-Loubet